home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / Development / PowerD / powerd / modules.lha / modules / libraries / amigaguide.m < prev    next >
Encoding:
Text File  |  2002-01-16  |  5.2 KB  |  159 lines

  1. MODULE 'intuition/screens','utility/tagitem'
  2.  
  3. ENUM  APSH_TOOL_ID=11000,
  4.     StartupMsgID=APSH_TOOL_ID+1,
  5.     LoginToolID=APSH_TOOL_ID+2,
  6.     LogoutToolID=APSH_TOOL_ID+3,
  7.     ShutdownMsgID=APSH_TOOL_ID+4,
  8.     ActivateToolID=APSH_TOOL_ID+5,
  9.     DeactivateToolID=APSH_TOOL_ID+6,
  10.     ActiveToolID=APSH_TOOL_ID+7,
  11.     InactiveToolID=APSH_TOOL_ID+8,
  12.     ToolStatusID=APSH_TOOL_ID+9,
  13.     ToolCmdID=APSH_TOOL_ID+10,
  14.     ToolCmdReplyID=APSH_TOOL_ID+11,
  15.     ShutdownToolID=APSH_TOOL_ID+12
  16.  
  17. ENUM AGA_Dummy=TAG_USER,
  18.     AGA_Path=AGA_Dummy+1,
  19.     AGA_XRefList=AGA_Dummy+2,
  20.     AGA_Activate=AGA_Dummy+3,
  21.     AGA_Context=AGA_Dummy+4,
  22.     AGA_HelpGroup=AGA_Dummy+5,
  23.     AGA_Reserved1=AGA_Dummy+6,
  24.     AGA_Reserved2=AGA_Dummy+7,
  25.     AGA_Reserved3=AGA_Dummy+8,
  26.     AGA_ARexxPort=AGA_Dummy+9,
  27.     AGA_ARexxPortName=AGA_Dummy+10
  28.  
  29. OBJECT AmigaGuideMsg
  30.   Msg:MN,         /* Embedded Exec message structure */
  31.   Type:ULONG,       /* Type of message */
  32.   Data:APTR,        /* Pointer to message data */
  33.   DSize:ULONG,      /* Size of message data */
  34.   DType:ULONG,      /* Type of message data */
  35.   Pri_Ret:ULONG,      /* Primary return value */
  36.   Sec_Ret:ULONG,      /* Secondary return value */
  37.   System1:APTR,
  38.   System2:APTR
  39.  
  40. /* Allocation description structure */
  41. OBJECT NewAmigaGuide
  42.   Lock:BPTR,          /* Lock on the document directory */
  43.   Name:PTR TO UBYTE,     /* Name of document file */
  44.   Screen:PTR TO Screen, /* Screen to place windows within */
  45.   PubScreen:PTR TO UBYTE,  /* Public screen name to open on */
  46.   HostPort:PTR TO UBYTE, /* Application's ARexx port name */
  47.   ClientPort:PTR TO UBYTE, /* Name to assign to the clients ARexx port */
  48.   BaseName:PTR TO UBYTE, /* Base name of the application */
  49.   Flags:ULONG,        /* Flags */
  50.   Context:PTR TO PTR TO UBYTE,    /* NULL terminated context table */
  51.   Node:PTR TO UBYTE,     /* Node to align on first (defaults to Main) */
  52.   Line:LONG,          /* Line to align on */
  53.   Extens:PTR TO TagItem,  /* Tag array extension */
  54.   Client:VOID         /* Private! MUST be NULL */
  55.  
  56. /* public Client flags */
  57. FLAG HT_LOAD_INDEX,      /* Force load the index at init time */
  58.     HT_LOAD_ALL,      /* Force load the entire database at init */
  59.     HT_CACHE_NODE,      /* Cache each node as visited */
  60.     HT_CACHE_DB,      /* Keep the buffers around until expunge */
  61.     HT_UNIQUE=15,     /* Unique ARexx port name */
  62.     HT_NOACTIVATE     /* Don't activate window */
  63.  
  64. CONST HTFC_SYSGADS=$80000000
  65.  
  66. /* Callback function ID's */
  67. ENUM HTH_OPEN,
  68.     HTH_CLOSE
  69.  
  70. CONST HTERR_NOT_ENOUGH_MEMORY=100,
  71.     HTERR_CANT_OPEN_DATABASE=101,
  72.     HTERR_CANT_FIND_NODE=102,
  73.     HTERR_CANT_OPEN_NODE=103,
  74.     HTERR_CANT_OPEN_WINDOW=104,
  75.     HTERR_INVALID_COMMAND=105,
  76.     HTERR_CANT_COMPLETE=106,
  77.     HTERR_PORT_CLOSED=107,
  78.     HTERR_CANT_CREATE_PORT=108,
  79.     HTERR_KEYWORD_NOT_FOUND=113
  80.  
  81. /* Cross reference node */
  82. OBJECT XRef
  83.   Node:LN,          /* Embedded node */
  84.   Pad:UWORD,        /* Padding */
  85. //  DF:PTR TO DocFile,  /* Document defined in */
  86.   DF:PTR TO UBYTE,   /* Document defined in */
  87.   File:PTR TO UBYTE,   /* Name of document file */
  88.   Name:PTR TO UBYTE,   /* Name of item */
  89.   Line:LONG,       /* Line defined at */
  90.   Reserved[2]:ULONG /* Don't touch! (V44) */
  91.  
  92. /* Types of cross reference nodes */
  93. ENUM XR_GENERIC,
  94.     XR_FUNCTION,
  95.     XR_COMMAND,
  96.     XR_INCLUDE,
  97.     XR_MACRO,
  98.     XR_STRUCT,
  99.     XR_FIELD,
  100.     XR_TYPEDEF,
  101.     XR_DEFINE 
  102.  
  103. /* Callback handle */
  104. OBJECT AmigaGuideHost
  105.   Dispatcher:Hook,    /* Dispatcher */
  106.   Reserved:ULONG,   /* Must be 0 */
  107.   Flags:ULONG,
  108.   UseCnt:ULONG,     /* Number of open nodes */
  109.   SystemData:APTR,    /* Reserved for system use */
  110.   UserData:APTR     /* Anything you want... */
  111.  
  112. /* Methods */
  113. CONST HM_FINDNODE=1,
  114.     HM_OPENNODE=2,
  115.     HM_CLOSENODE=3,
  116.     HM_EXPUNGE=10   /* Expunge DataBase */
  117.  
  118. /* HM_FINDNODE */
  119. OBJECT opFindHost
  120.   MethodID:ULONG,
  121.   Attrs:PTR TO TagItem, /*  R: Additional attributes */
  122.   Node:PTR TO UBYTE,     /*  R: Name of node */
  123.   TOC:PTR TO UBYTE,      /*  W: Table of Contents */
  124.   Title:PTR TO UBYTE,    /*  W: Title to give to the node */
  125.   Next:PTR TO UBYTE,     /*  W: Next node to browse to */
  126.   Prev:PTR TO UBYTE      /*  W: Previous node to browse to */
  127.  
  128. /* HM_OPENNODE, HM_CLOSENODE */
  129. OBJECT opNodeIO
  130.   MethodID:ULONG,
  131.   Attrs:PTR TO TagItem, /*  R: Additional attributes */
  132.   Node:PTR TO UBYTE,     /*  R: Node name and arguments */
  133.   FileName:PTR TO UBYTE, /*  W: File name buffer */
  134.   DocBuffer:PTR TO UBYTE,  /*  W: Node buffer */
  135.   BuffLen:ULONG,        /*  W: Size of buffer */
  136.   Flags:ULONG         /* RW: Control flags */
  137.  
  138. /* onm_Flags */
  139. FLAG HTNF_KEEP,      /* Don't flush this node until database is closed. */
  140.     HTNF_RESERVED1, /* Reserved for system use */
  141.     HTNF_RESERVED2, /* Reserved for system use */
  142.     HTNF_ASCII,     /* Node is straight ASCII */
  143.     HTNF_RESERVED3, /* Reserved for system use */
  144.     HTNF_CLEAN,     /* Remove the node from the database */
  145.     HTNF_DONE     /* Done with node */
  146.  
  147. /* onm_Attrs */
  148. CONST HTNA_Dummy=TAG_USER,
  149.     HTNA_Screen=HTNA_Dummy+1,  /* (struct Screen *) Screen that window resides in */
  150.     HTNA_Pens=HTNA_Dummy+2,  /* Pen array (from DrawInfo) */
  151.     HTNA_Rectangle=HTNA_Dummy+3,  /* Window box */
  152.     HTNA_HelpGroup=HTNA_Dummy+5 /* (ULONG) unique identifier */
  153.  
  154.  
  155. /* HM_EXPUNGE */
  156. OBJECT opExpungeNode
  157.   MethodID:ULONG,
  158.   Attrs:PTR TO TagItem    /*  R: Additional attributes */
  159.